<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width,initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>时间复杂度</title>
    </head>
    <body>
        <h1>到底什么是大O</h1>
        <div>n表示数据规模</div>
        <div>O(f(n))表示运行算法所需要执行的指令数，和f(n)成正比</div>
        <ul>
            <li>二分查找法O(logn)----------所需执行指令数：a*logn</li>
            <li>寻找数组中的最大/最小值O(n)--------------所需执行指令数：b*n</li>
            <li>归并排序算法O（nlogn）--------------所需指令数：c*nlogn</li>
            <li>选择排序法O（n^2)---------------所需指令数：d*n^2</li>
        </ul>

        <div>------------------------------</div>
        <h2>一个时间复杂度的问题</h2>
        <h3>有一个字符串数组，将数组中的每一个字符串按照字母序排序；之后再将整个字符串数组按照字典序排序。整个操作的时间复杂度？</h3>
        <div>
            假设最长的字符串长度为s；数组中有n个字符串；
        </div>
        <div>对每个字符串排序：O(slog(s))</div>
        <div>将数组中的每个字符串按照字母序排序：O(n*slog(s))</div>
        <div>将整个字符串数组按照字典序排序：O(s*nlog(n))</div>
    </body>
</html>